EDAS Z−80 EDAS For MZ−K/C/1200 Ver1.2 ――――――――――――――――――――――――――――――――――――――― I/O 1982年11月号掲載 MZ−80K/C/1200 マシン語     012A0H−032C0H コールドスタート 012A3H ホット スタート 012A0H 起動方法 モニタからロード ――――――――――――――――――――――――――――――――――――――― ……………………………………………………………………………………………  MZ−80シリーズの新製品MZ−1200/2000が発売されたので、  さっそく’82年7月号のEDAS(EDitor ASsembler)  を移植しました。  80B用EDASに関する情報もあるので、  既に使用中の方も是非お読みください。  これから述べる機能、操作法は80B用と異なる点についてのみですから、  7月号および8月号(P375)も合わせてご覧ください。 …………………………………………………………………………………………… [1 MZ−1200(K/C)用] タイトルは1200用となっていますが、 80K/Cシリーズも同じモニタ(SP−1002)を使っているので 動作するはずです。 80K2Eでは確認しました。 (1)起 動  下記のアドレスよりモニタのGOTOSコマンドで起動します。   ・−−−−−−−−−−−−−−−−−−−−・   |コールド・スタート| 12A3番地   |   |−−−−−−−−−+−−−−−−−−−−|   |ホット ・スタート| 12A0番地   |   ・−−−−−−−−−−−−−−−−−−−−・    バッフア・エリアの指定可能範囲は、メモリ・マップを    参照してください。 (2)モード設定コマンド   ディスプレイの表示文字数は40字/行で固定のため、   40/80字の設定コマンドはありませんが、   ラベル・テーブル出力時の1行あたりのラベル数を設定できます。   “3 LABEL/LINE DISPLAY ? Y/N−″の   メッセージ出力時、Y[CR]を入力すれば3ラベル/行となり、   N[CR]を入力すれば6ラベル/行になります。   6ラベル/行はプリンタ出力を想定したものなので、   ディスプレイでは見ずらくなります   (80字/行とすれば6ラベル/行となります)。   コールド・スタート時各モードはすべで“Y”に設定されるので、   使用するシステムに合ったモード設定をしてから使ってください。 (3)ブレーク・ポインタ関連コマンド   BIコマンドで指定されるRST命令に対応するブレーク   処理は以下のとおりです。    ・−−−−−−−−−−−−−−−−−−−−−−−−−・    |RST00   |モニタのコールド・スタート   |    |−−−−−−−−+−−−−−−−−−−−−−−−−|    |RST08〜30|モニタROMの処理に依存    |    |−−−−−−−−+−−−−−−−−−−−−−−−−|    |RST38   |Z80の全レジスタ内容を表示後 |    |        |EDASのコマンド待ち     |    ・−−−−−−−−−−−−−−−−−−−−−−−−−・   ブレーク・アドレス設定(BSコマンド設定)時、   BIがRST38となっていれば、   1038〜103A番地にレジスタ内容表示処理の   エントリ・アドレスを書き込み、   それ以前はモニタのコールド・スタート状態となっています。   なお、EDASのコールド・スタート時のBSはRST38です。 (4)キー機能の対応   ・−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−・   |             |MZ80B|  MZ1200   |   |−−−−−−−−−−−−−+−−−−−+−−−−−−−−−−−|   |8文字のスペース入力※1 | TAB |    [↑]    |   |−−−−−−−−−−−−−+−−−−−+−−−−−−−−−−−|   |コマンド・ストップ    |BREAK|SHIFT+BREAK|   |−−−−−−−−−−−−−+−−−−−+−−−−−−−−−−−|   |テープ入出力の強制終了※2|BREAK|   BREAK   |   ・−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−・    ※1 Sコマンドのサーチ文字列入力時は1個のスペースを表示。    ※2 1200用の場合、テープ読み込み処理の時間的余裕が       少いため、一部BREAKキーセンスを省略しています。       このため無録音のテープ読み込みを行なうと       BREAKが効かないので、       リセット後EDASをホット・スタートしてください。 (5)テープ入出力速度の変更   ダンプ・リストは1200BPS用ですが、下記の変更をすれば   600BPSになります。    ・−−−−−−−−−−−−−−−−−−−−−−・    | アドレス |1200BPS| 600BPS|    |−−−−−−+−−−−−−−+−−−−−−−|    | 2120 |   01  |   02  |    | 2153 |   0D  |   02  |    | 2155 |   01  |   03  |    | 2164 |   04  |   08  |    | 2213 |   01  |   02  |    | 225C |   02  |   04  |    ・−−−−−−−−−−−−−−−−−−−−−−・ [2 MZ−2000用]  2000は80Bとモニタ・レベルでコンパチブルということなので、  80B用で動作するはずでしたが、使ってみたところ  “MT Read Err”が発生することがあります。  この解消のため、80B用ver1.1(’82年7月号ダンプ・リスト参照)を  表1のように変更してください。  表1の80BVer1.2は1200/2000用EDASとのテープ互換性   を持たせるための変更です。  表1 Address 80B V1.1 80B V1.2 2000 V1.2 12D2 38 -- 32 12D4 42 -- 30 12D5 20 -- 30 12DD 31 32 32 2120 E8 D0 D0 2121 03 07 07 21E1 EB -- 83 21E2 21 -- 32 220F 70 6B -- 2229 65 6A -- 2252 34 26 2C 2257 2A 38 32 2274 DC 60 60 2275 05 09 09 227B 3A 2C 31 2284 2E 3C 36 3283 00 -- CD 3284 00 -- 11 3285 00 -- 05 3286 00 -- C3 3287 00 -- EB 3288 00 -- 21 メモリ・マップ  0000・−−−−−−−−−−−−・      | モニタ        |      |  (SP−1002) |  1000|−−−−−−−−−−−−|      |モニタ・ワーク・エリア |  1200|−−−−−−−−−−−−|      |EDASスタック・エリア|  12A0|−−−−−−−−−−−−|      |            |      |EDAS        |      |(ワーク・エリアを含む)|      |            |  3500|−−−−−−−−−−−−|−・      |            | |      |            | |      |            | |      |            | |バッファ指定可能範囲         ||    ||    |      |            | |      |            | |  D000|−−−−−−−−−−−−|−・      | V−RAM      |      | etc.       |      |            |  FFFF・−−−−−−−−−−−−・